{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fswiss\fcharset77 Helvetica-Oblique;
}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red0\green0\blue153;}
\margl1440\margr1440\margb1800\margt1800
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sa480

\f0\b\fs26 \cf0 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \outl0\strokewidth0 \strokec0 \AppleTypeServices Quest \'d0 an Extensible Test-Code Generator for C
\fs56 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sa240

\f1\b0\fs24 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices This is the installer for Quest, a test-code generator that emits C code. Quest is a command-line application and thus is used from the Terminal. When compiled and run, generated code checks the correctness of function calls, especially for complex values. Therefore, the main audience of Quest are compiler developers.\
Quest generates function calls that almost never occur in code from real projects and thus helps to uncover bugs that are hard to find otherwise. Function calls are generated on a pseudo-random fashion and don't require any kind of specification, which make Quest easy to use. To detect bugs in a compiler's function-call implementation, the generated code is compiled and run. Bugs manifest themselves in error messages emitted by the generated code.\
Test code generation is type-driven: starting from the types for parameters and return values each test case is constructed. These types are generated randomly by generators. A user may user any of the predefined generators or specify her own: new generators may be specified using the built-in scripting language Lua. A generator, for example, may produce only double precision floats and long integers. The specification of a generator takes about 30 lines of code.\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
\cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices Other features:\
 \
\pard\tx565\tx1133\tx1700\tx2266\tx2833\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802
\cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices Quest pretty prints C code to keep it readable.\
Quest can split test cases into two files such that they may be compiled by different compilers to check their interoperability.\
Neither Quest itself, nor the generated code requires any special run-time libraries or configuration files.\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sa240

\f0\b\fs26 \cf0 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec0 \AppleTypeServices Installation
\fs36 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sa240

\f1\b0\fs24 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices The installer places Quest into the /usr/local hierarchy, which by default is not in the PATH environment variable.\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sa240

\f0\b\fs26 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices Documentation
\fs36 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sa240

\f1\b0\fs24 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices  Quest comes with a Unix manual page; use "
\f2\i \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices man quest
\f1\i0 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices '" to view it. Running "
\f2\i \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices quest -man
\f1\i0 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices '" emits the manual page to stdout. More information is available at:\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
\cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices \
	\cf3 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ul \ulc3 \strokec3 \AppleTypeServices http://www.st.cs.uni-sb.de/~lindig/src/quest\cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices   \
\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sa240

\f0\b\fs26 \cf0 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec0 \AppleTypeServices Bugs
\fs36 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices \
\pard\tx565\tx1133\tx1700\tx2266\tx2833\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802

\f1\b0\fs24 \cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices Please send bug reports, patches, and suggestions to Christian Lindig <\cf3 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ul \ulc3 \strokec3 \AppleTypeServices lindig@cs.uni-sb.de\cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices >\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
\cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sa240

\f0\b\fs26 \cf0 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec0 \AppleTypeServices Autor
\fs36 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \AppleTypeServices \
\pard\tx565\tx1133\tx1700\tx2266\tx2833\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802

\f1\b0\fs24 \cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices Christian Lindig <\cf3 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ul \ulc3 \strokec3 \AppleTypeServices lindig@cs.uni-sb.de\cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices > \cf3 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ul \ulc3 \strokec3 \AppleTypeServices http://www.st.cs.uni-sb.de/~lindig/\cf2 \kerning1\expnd0\expndtw0
\up0 \nosupersub \ulnone \strokec2 \AppleTypeServices  \
}